home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / Other Langs / Tickle-4.0 (tcl) / scripts / cbtree.tcl < prev    next >
Encoding:
Text File  |  1993-11-19  |  1.2 KB  |  61 lines  |  [TEXT/$Tcl]

  1.  
  2. cbt_open DB CBTree1
  3.  
  4. cbt_close DB
  5.  
  6. cbt_insert DB "Key4" {DATA --> KEY [Key4]}
  7.  
  8. puts stdout [cbt_getkey DB Key3]
  9.  
  10. puts stdout [cbt_seq DB FIRST KEY DATA]
  11. puts stdout [cbt_seq DB FIRST]
  12. puts stdout [cbt_seq DB NEXT]
  13. puts stdout [cbt_seq DB PREV]
  14. puts stdout [cbt_seq DB LAST]
  15. puts stdout [catch "cbt_seq DB NEXT" KEY]
  16. puts stdout $KEY
  17.  
  18. puts stdout [catch "cbt_getkey DB Key1" DATA]
  19. puts stdout "[cbt_getkey DB Key1]"
  20. puts stdout [catch "dbm_getkey DB $KEY" DATA]
  21.  
  22. proc cbt_list { dbname } { 
  23.  
  24.     set KEY ""
  25.     if {[catch "cbt_seq $dbname FIRST KEY DATA"]} then {
  26.         puts stdout "$dbname has no keys."
  27.         return
  28.     }
  29.  
  30.     for { } { 1 } { } {
  31.         puts stdout "KEY <$KEY>  DATA <$DATA>"
  32.  
  33.         if {[catch "cbt_seq $dbname NEXT KEY DATA"]} then {
  34.             puts stdout "$dbname has no more keys."
  35.             break
  36.         }
  37.     }
  38. }
  39.  
  40. cbt_list DB
  41.  
  42. puts stdout "[dbm_getkey DB Key60]"
  43.  
  44. proc cbt_fill_seq { dbname start end incr } { 
  45.     
  46.     for { set INDEX $start } { $INDEX <= $end } { set INDEX [expr "$INDEX + $incr"] } {
  47.         cbt_insert $dbname "Key$INDEX" "DATA --KEY--> <Key$INDEX>" replace
  48.     }
  49. }
  50.  
  51. cbt_fill_seq DB 10 100 5
  52. cbt_fill_seq DB 33 99 3
  53. cbt_fill_seq DB 37 99 7
  54. cbt_fill_seq DB 300 399 1
  55. cbt_fill_seq DB 1000 2000 1
  56.  
  57.  
  58.  
  59.  
  60.  
  61.